#!/usr/bin/env python
#coding=utf-8 
# 全局解释器 虽然python解释器中可以运行多个线程，但在任意时刻，只有一个线程在解释器中运行

# thread 当主线程退出时，其他线程没有被清理 
# threading 当重要线程都退出时候，进程才会退出 
# 使用 锁 
# 使用 threading
import threading
from time import sleep, ctime
loops = [4,2]
def loop(nloop, nsec):
	print 'start loop', nloop, 'at: ', ctime() 
	sleep(nsec)
	print 'loop', nloop, 'done at:', ctime()



def main():
	print 'starting at:', ctime()
	threads = []
	nloops = range(len(loops))

	for i in nloops:
		t = threading.Thread(target=loop,args=(i, loops[i]))
		threads.append(t)

	for i in nloops:
		threads[i].start()
	for i in nloops:
		threads[i].join()

	print 'all DONE at: ',ctime()

if __name__=='__main__':
	main()
# starting at: Fri Sep  6 10:07:34 2019
# start loop 0 at:  Fri Sep  6 10:07:34 2019
# start loop 1 at:  Fri Sep  6 10:07:34 2019
# loop 1 done at: Fri Sep  6 10:07:36 2019
# loop 0 done at: Fri Sep  6 10:07:38 2019
# all DONE at:  Fri Sep  6 10:07:38 2019
